3b. Feature Matching¶

The feature matching takes the reference data and attempts to identify corresponding features in the OSM data set. Feature matching is a necessary precondition to compare single features rather than feature characteristics on study area a grid cell level.

Method

Matching features in two road data sets with each their way of digitizing features and a potential one-to-many relationship between edges (for example in the case where one data set only maps road center lines, while the other map the geometries of each bike lane) is not a trivial task.

The method used here converts all network edges to smaller segments of a uniform length before looking for a potential match between the reference and the OSM data. The matching is done on the basis of the buffered distance between objects, the angle, and the undirected Hausdorff distance, and is based on the works of Koukoletsos et al. (2012) and Will (2014).

Based on the matching results, the following values are computed:

  • The number and length of matched and unmatched edges, in total and per grid cell
  • A comparison of the attributes of the matched edges: Is their classification of cycling infrastructure as protected or unprotected the same?

Interpretation

It is important to visually explore the feature matching results, since the success rate of the matching influences how the analysis of number of matches should be interpreted.

If the features in the two data sets have been digitized differently - e.g. if one data set has digitized bike tracks as mostly straight lines, while the other includes more winding tracks, the matching will fail. This is also the case if they are placed too far from each other. If it can be confirmed visually that the same features do exist in both data sets, a lack of matches indicates that the geometries in the two data sets are too different. If however it can be confirmed that most real corresponding features have been identified, a lack of matches in an area indicates errors of commission or omission.

Sections

  • Match features
    • Run and plot feature matching
    • Matched and unmatched features
    • Feature matching summary
  • Analyze feature matching results
    • Matched features by infrastructure type
    • Feature matching success
  • Summary

Match features¶

Run and plot feature matching¶

Make this Notebook Trusted to load map: File -> Trust Notebook
Interactive map saved at results/COMPARE/sofiaplan/maps_interactive/segment_matches_15_17_30_compare.html

Feature matching summary¶

Edge count: 6704 of 9416 OSM segments (71.2%) were matched with a reference segment.
Edge count: 7437 out of 7771 SofiaPlan segments (95.7%) were matched with an OSM segment.
Length: 66.86 km out of 93.51 km of OSM segment (71.5%) were matched with a reference segment.
Length: 74.30 km out of 77.63 km of SofiaPlan segments (95.71%) were matched with an OSM segment.
2023-06-25T14:11:28.443593 image/svg+xml Matplotlib v3.7.1, https://matplotlib.org/
2023-06-25T14:11:28.585200 image/svg+xml Matplotlib v3.7.1, https://matplotlib.org/

Analyze feature matching results¶

Matched features by infrastructure type¶

Feature matching success¶

In the plots below, the count, percent, and length of matched and unmatched segments in each data set are summarized.

Warning

The number of matched segments in one data set in a grid cell does not necessarily reflect the number of matched segments in the other data set, since a segment can be matched to a corresponding segment in another cell. Moreover, the local count refers to segments intersected with the grid cell. For example, a segment crossing 2 cells will thus be counted as matched in 2 different cells. This does not change the relative distribution of matched/unmatched segments, but it does entail that the overall summary of matched/unmatched segments above uses a different total count of segments than the plots below.

Summary¶

Feature Matching Results
  OSM SofiaPlan
Count of matched segments 6,704 7,437
Percent matched segments 71% 96%
Length of matched segments (km) 67 74
Percent of matched network length 72% 96%
Local min of % matched segments 8% 4%
Local max of % matched segments 100% 100%
Local average of % matched segments 92% 98%